home *** CD-ROM | disk | FTP | other *** search
/ mail.altrad.com / 2015.02.mail.altrad.com.tar / mail.altrad.com / TEST / office german / PROPLUS.WW / PROPLSWW.CAB / MSORES.DLL / 226 / 654 < prev    next >
Text File  |  2006-10-26  |  5KB  |  96 lines

  1. <!--
  2. ***************************************************************************
  3.     dlcxsfaddds.xslt
  4.     Transform that adds a data source to a manifest file.
  5. *************************************************************************** -->
  6. <xsl:stylesheet 
  7.     version="1.0"
  8.     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  9.     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  10.     xmlns:ma="http://schemas.microsoft.com/office/2006/metadata/properties/metaAttributes"
  11.     xmlns:xd="http://schemas.microsoft.com/office/infopath/2003"
  12.     xmlns:dms="http://schemas.microsoft.com/office/2006/documentManagement/types"
  13.     xmlns:xsf="http://schemas.microsoft.com/office/infopath/2003/solutionDefinition"
  14.     xmlns:xsf2="http://schemas.microsoft.com/office/infopath/2006/solutionDefinition/extensions">
  15.     <xsl:output method="xml" encoding="utf-8" indent="yes" />
  16.     <!-- ListGuid determines Data Source naming conventions and target list -->
  17.     <xsl:param name="dsListGuid">[DefaultGuid]</xsl:param>
  18.     <!-- Site URL determines what server to talk to -->
  19.     <xsl:param name="dsSiteUrl">[DefaultSiteUrl]</xsl:param>
  20.     <!-- Element Name determines target element from the data source. -->
  21.     <xsl:param name="dsElementName">[DefaultElementName]</xsl:param>
  22.     <!-- Element Name determines target element from the data source. -->
  23.     <xsl:param name="dsFileName">[DefaultFileName]</xsl:param>
  24.     <!-- WebGuid determines target web -->
  25.     <xsl:param name="dsWebGuid"></xsl:param>
  26.     <!-- Currently derived from listGuid. I made them parameters in case that changes.  -->
  27.     <xsl:param name="dsNodeName">list_<xsl:value-of select="$dsListGuid"/></xsl:param>
  28.     <xsl:param name="dsName">list_<xsl:value-of select="$dsListGuid"/></xsl:param>
  29.     <!-- This is what is actually stored in the XML to identify what list entry the user chose -->
  30.     <xsl:variable name="elementIdentifierName">ID</xsl:variable>
  31.     <xsl:variable name="rootElement">myFields</xsl:variable>
  32.     <xsl:template match="/xsd:schema | @* | node()">
  33.         <xsl:copy>
  34.             <xsl:apply-templates select="@* | node()" >
  35.             </xsl:apply-templates>
  36.             <!--
  37.             This adds the .xsd files for the data source.
  38.             -->
  39.             <xsl:if test="local-name()='files'">
  40.                 <xsl:element name="xsf:file">
  41.                     <xsl:attribute name="name"><xsl:value-of select="$dsFileName"/></xsl:attribute>
  42.                     <xsl:element name="xsf:fileProperties">
  43.                         <xsl:element name="xsf:property">
  44.                             <xsl:attribute name="name">namespace</xsl:attribute>
  45.                             <xsl:attribute name="type">string</xsl:attribute>
  46.                             <xsl:attribute name="value">http://schemas.microsoft.com/office/infopath/2003/dataFormSolution</xsl:attribute>
  47.                         </xsl:element>
  48.                         <xsl:element name="xsf:property">
  49.                             <xsl:attribute name="name">dataObject</xsl:attribute>
  50.                             <xsl:attribute name="type">string</xsl:attribute>
  51.                             <xsl:attribute name="value"><xsl:value-of select="$dsName"/></xsl:attribute>
  52.                         </xsl:element>
  53.                         <xsl:element name="xsf:property">
  54.                             <xsl:attribute name="name">rootElement</xsl:attribute>
  55.                             <xsl:attribute name="type">string</xsl:attribute>
  56.                             <xsl:attribute name="value"><xsl:value-of select="$rootElement"/></xsl:attribute>
  57.                         </xsl:element>
  58.                     </xsl:element>
  59.                 </xsl:element>
  60.             </xsl:if>
  61.             <xsl:if test="local-name()='dataObjects'">
  62.                 <xsl:element name="xsf:dataObject">
  63.                     <xsl:attribute name="name"><xsl:value-of select="$dsName"/></xsl:attribute>
  64.                     <xsl:attribute name="schema"><xsl:value-of select="$dsFileName"/></xsl:attribute>
  65.                     <xsl:attribute name="initOnLoad">yes</xsl:attribute>
  66.                     <xsl:element name="xsf:query">
  67.                         <xsl:element name="xsf:sharepointListAdapter">
  68.                             <xsl:attribute name="siteUrl"><xsl:value-of select ="$dsSiteUrl"/></xsl:attribute>
  69.                             <xsl:attribute name="sharepointGuid">{<xsl:value-of select ="$dsListGuid"/>}</xsl:attribute>
  70.                             <xsl:attribute name="infopathGroup"><xsl:value-of select ="$dsNodeName"/></xsl:attribute>
  71.                             <xsl:attribute name="queryAllowed">yes</xsl:attribute>
  72.                             <xsl:attribute name="submitAllowed">no</xsl:attribute>
  73.                             <xsl:attribute name="name"><xsl:value-of select ="$dsName"/></xsl:attribute>
  74.                             <xsl:element name="xsf:field">
  75.                                 <xsl:attribute name="sharepointName"><xsl:value-of select="$elementIdentifierName" /></xsl:attribute>
  76.                                 <xsl:attribute name="infopathName"><xsl:value-of select="$elementIdentifierName" /></xsl:attribute>
  77.                             </xsl:element>
  78.                             <xsl:if test="$dsElementName != $elementIdentifierName" >
  79.                                 <xsl:element name="xsf:field">
  80.                                     <xsl:attribute name="sharepointName"><xsl:value-of select="$dsElementName" /></xsl:attribute>
  81.                                     <xsl:attribute name="infopathName"><xsl:value-of select ="$dsElementName"/></xsl:attribute>
  82.                                 </xsl:element>
  83.                             </xsl:if>
  84.                         </xsl:element>
  85.                     </xsl:element>
  86.                 </xsl:element>
  87.             </xsl:if>
  88.             <xsl:if test="local-name()='dataConnections' and
  89.                         namespace-uri()='http://schemas.microsoft.com/office/infopath/2006/solutionDefinition/extensions' and
  90.                         $dsWebGuid and $dsWebGuid != ''">
  91.                 <xsf2:sharepointListAdapterExtension ref="{$dsName}" sharepointWebGuid="{$dsWebGuid}" />
  92.             </xsl:if>
  93.         </xsl:copy>
  94.     </xsl:template>
  95. </xsl:stylesheet>
  96.